package xj.graph2d.shapes;

import java.awt.geom.Point2D;

import xj.graph2d.DrawShape;
import xj.graph2d.OpenShape;

public interface CurveShape 
  extends OpenShape, DrawShape {

  public Point2D getCtr1();
  public Point2D getCtr2();
  public void setCtr1(float x, float y);
  public void setCtr2(float x, float y);
  public void setPoints(float x1, float y1, float x2, float y2);
  public void setPoints(float x1, float y1, float x2, float y2, 
			float cx1, float cy1);
  public void setPoints(float x1, float y1, float x2, float y2, 
			float cx1, float cy1, float cx2, float cy2);
  public void moveEnd1Adj(float dx, float dy);
  public void moveEnd2Adj(float dx, float dy);
  public void moveCtr1(float dx, float dy);
  public void moveCtr2(float dx, float dy);
  public void setEndsAdj(float x1, float y1, float x2, float y2);
  public void setEndsAdj(float x1, float y1, float x2, float y2,
			 boolean scaleCtrl);
  public void scaleControlPoints(float x1, float y1, float x2, float y2);
  public void flipControlPoints();

}
